<!-- 用户设置的列表 -->
<template>
  <div>
    <a-menu
      style="width: 256px;"
      :default-selected-keys="['1']"
      @click="clickItem"
      mode="inline"
      theme="light"
    >
      <a-menu-item key="1">
        <a-icon type="mail" />
        个人信息
      </a-menu-item>
      <a-menu-item key="2">
        <a-icon type="read" />
        {{ !isOpen ? "我的文章" : "他的文章" }}
      </a-menu-item>
      <a-menu-item key="3" v-if="!isOpen">
        <a-icon type="star" />
        我的收藏
      </a-menu-item>
      <a-sub-menu key="4" v-if="!isOpen">
        <span slot="title"
          ><a-icon type="question" /><span
            >{{ !isOpen ? "我的提问" : "他的提问" }}
          </span></span
        >
        <a-menu-item key="5">
          已解决
        </a-menu-item>
        <a-menu-item key="6">
          未解决
        </a-menu-item>
      </a-sub-menu>
      <a-menu-item key="7" v-if="loginId">
          <a-icon type="setting" />
          <span>文章管理</span>
      </a-menu-item>
    </a-menu>
  </div>
</template>

<script>
// 这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
// 例如：import 《组件名称》 from '《组件路径》';

export default {
  // import引入的组件需要注入到对象中才能使用
  components: {},
  data() {
    // 这里存放数据
    return {
      isOpen: this.open,
      key: "1",
      loginId: this.$store.getters.id === '1'
    };
  },
  props: {
    open: {
      type: Boolean,
      default: true,
    },
  },
  // 监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {
    open(nv) {
      this.isOpen = !nv;
    },
  },
  //方法集合
  methods: {
    clickItem(item) {
      this.key = item.key;
      this.$emit("key", this.key);
    },
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {
  },
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {},
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
};
</script>
<style lang="scss" scoped>
//@import url(); 引入公共css类
</style>
